Secure communication channels are desirable for transmitting data between entities. For example, Transport Layer Security (TLS) and its predecessor, Secure Sockets Layer (SSL), both of which are sometimes referred to as “SSL”, are cryptographic protocols designed to provide communications security over a computer network. The primary goal of the TLS protocol is to provide privacy and data integrity between two communicating computer applications. TLS is general, and thus complicated.
Some such protocols may include extra features that weigh down use of the protocol (e.g., sub-streams, interleaving of messages, compression). Additionally, these protocols may be more useful for message-based transport as compared to streaming (the demands of streaming can impose severe penalties when transport layer security (TLS) is enabled).
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to.